package org.jgs1904.spring.demo02.aop;

import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;

/**
 * @author: 默苍璃
 * @date: 2022-01-03 22:49
 * <p>
 * 切面（ASPECT）：横切关注点 被模块化 的特殊对象。即，它是一个类。
 */
public class Log implements MethodBeforeAdvice {

    /**
     * 通知（Advice）：切面必须要完成的工作。即，它是类中的一个方法。
     * 前置增强
     *
     * @param method 要执行的目标对象的方法
     * @param args   被调用的方法的参数
     * @param target 目标对象
     */
    @Override
    public void before(Method method, Object[] args, Object target) {
        System.out.println(target.getClass().getName() + "的" + method.getName() + "方法被执行了");
    }

}
